package com.yzh.luckydraw.domain.activity.service.deploy;

import com.yzh.luckydraw.domain.activity.model.aggregates.ActivityInfoLimitPageRich;
import com.yzh.luckydraw.domain.activity.model.req.ActivityConfigReq;
import com.yzh.luckydraw.domain.activity.model.req.ActivityInfoLimitPageReq;
import com.yzh.luckydraw.domain.activity.model.vo.ActivityVO;
import java.util.List;

/**
 * 部署活动接口
 */
public interface IActivityDeploy {
    /**
     * 创建活动信息
     *
     * @param req
     */
    void createActivity(ActivityConfigReq req);

    /**
     * 修改活动信息
     *
     * @param req
     */
    void updateActivity(ActivityConfigReq req);

    /**
     * 扫描待处理的活动列表，状态为：通过、活动中
     * 通过 -> 时间符合时 -> 活动中
     * 活动中 -> 时间到期 -> 关闭
     *
     * @param id
     * @return
     */
    List<ActivityVO> scanToDoActivityList(Long id);

    /**
     * 查询活动信息（分页）聚合对象
     * @param req
     * @return
     */
    ActivityInfoLimitPageRich queryActivityInfoLimitPage(ActivityInfoLimitPageReq req);
}
